## Chapter 5: Troubleshooting the Push Interface

## Avaya HTTP Header Extensions (x-Push-Status Codes)

The Push Agent sends a response back to the Push Initiator with HTTP status codes.

NOTE: See Push Message Flow and Figure 4 in Chapter 2: Push Interface Overview for an overview of the Push process.

In addition to the HTTP response codes, an additional HTTP header extension called “x-Push-Status” is sent.

The x-Push-Status header is used to indicate the outcome of a Push Request back to the Push Initiator. The header is included in all responses to the Push Initiator for Push Requests. General guidelines for error codes for x-Push-Status are as follows:

- Status-Code 200-299: Push Service Response and Rejection codes, Push State codes
- Status-Code 300-399: XML parsing codes
- Status-Code 400-499: Trusted Domain Security codes
- Status-Code 500-599: General rejection reasons

Table 6: x-Avaya-Push-Code Responses
x-Push- Status code | Reason Phrase (Description) | Resolution (“N/A”: Avaya IP Telephones never send the status code)
--- | --- | ---
200 | “Push Message Accepted” | This reports that the telephone has successfully accepted the push.
201 | “Push Services Disabled” | Ask your system administrator to administer the TPSLIST value on the HTTP Server. See Push Administration for more information.
202 | “Internal Error: Push Aborted” | There was a problem processing your request. Re-send the Push request.
204 | “Not in Push State: Push Accepted” | The Push Message was accepted but the user’s telephone is busy, for example, in text-edit mode. The Push Message is loaded in the background. Once the user launches the Web browser on the phone, the user will be able to view the Push Message. Try sending a “barge” priority message instead if you want the user to view the message immediately.
205 | “Not In Push State: Push Aborted” | The Push Message was rejected because the phone is in a non-pushable state. Try sending a “barge” priority message instead. See Chapter 3: Creating Push Messages for more information.
208 | “Not in Audio Push State: Push Aborted” | The audio stream was rejected because the user is currently on the call or busy. Try sending a “barge” priority message instead. See The Audio Push Type on page 42for more information.
301 | “XML document not valid” | Check the proper XML schema as described in this API. See Chapter 3: Creating Push Messages for more information.
302 | “XML document not well-formed” | Make sure that all the XML tags are properly formed. See Chapter 3: Creating Push Messages for more information.
303 | “No element found” | Make sure that all the XML tags are properly formed. See Chapter 3: Creating Push Messages for more information.
304 | “Unknown encoding” | Make sure that all the XML tags are properly formed. See Chapter 3: Creating Push Messages for more information.
305 | “Invalid root element” | Make sure that all the XML tags are properly formed. See Chapter 3: Creating Push Messages for more information.
306 | “Empty Post Content” | If you are using the HTTP POST method in the Push Message, include postfield tags with the message.
307 | “Push Content too large” | The XML file is larger than 5Kb. Send an XML file less than 5K bytes.
402 | “Push security failure” | The security service failed to validate the Trusted Push Server.
501 | “Invalid Push URI” | Recheck the URI included in the <go href.../> request for fully qualified URL string. Also, make sure the length of the URI is no longer than 1024 characters.
503 | “Subscription Service Unavailable” | Ask your system administrator to administer the SUBSCRIBELIST value on the HTTP Server. See Chapter 4: Push Administration for more information.